/*
(C) 2007 Stefan Reich (jazz@drjava.de)
This source file is part of Project Prophecy.
For up-to-date information, see http://www.drjava.de/prophecy

This source file is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation, version 2.1.
*/

package prophecy.common.gui;

import static drjava.util.ObjectUtil.nice;

public abstract class SexyColumn<A> {
  protected String name;

  protected SexyColumn() {
  }

  protected SexyColumn(String name) {
    this.name = name;
  }

  public String getName() {
    return name != null ? name : nice(this);
  }

  public abstract Object getCell(int row, A entry);

  public boolean isCellEditable(int row, A entry) {
    return false;
  }

  public void setValueAt(int row, A item, Object value) {
  }
}